package com.WebMentorPro.system.service;

import com.WebMentorPro.system.model.dto.teacher.TeacherQueryRequest;
import com.WebMentorPro.system.model.dto.teacher.TeacherQueryStuRequest;
import com.WebMentorPro.system.model.entity.Teacher;
import com.WebMentorPro.system.model.entity.User;
import com.WebMentorPro.system.model.vo.LoginTeacherVO;
import com.WebMentorPro.system.model.vo.LoginUserVO;
import com.WebMentorPro.system.model.vo.TeacherVO;
import com.WebMentorPro.system.model.vo.UserVO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletRequest;

/**
* @author bianxiaoyao
* @description 针对表【teacher(异科导师表)】的数据库操作Service
* @createDate 2024-11-24 11:24:42
*/
public interface TeacherService extends IService<Teacher> {

    long teacherRegister(String teacherAccount, String teacherPassword, String checkPassword);

    LoginTeacherVO teacherLogin(String teacherAccount, String teacherPassword, HttpServletRequest request);

    LoginTeacherVO getLoginTeacherVO(Teacher teacher);

    boolean teacherLogout(HttpServletRequest request);

    Teacher getLoginTeacher(HttpServletRequest request);

    Page<TeacherVO> getQueryByAll(Page<Teacher> pageParam, TeacherQueryRequest teacherQueryRequest);

    Page<UserVO> getQueryByMyStudent(Page<User> pageParam, TeacherQueryStuRequest teacherQueryStuRequest, Long teacherId);
}
